package com.yuven.appframework.util.imageloader

import android.graphics.drawable.Drawable
import android.view.View
import android.widget.ImageView
import com.bumptech.glide.request.RequestListener

/**
@author: subao
@date: 2021/12/27
 */
interface IImageLoadEngine {

    fun loadImage(placeholder: Int, error: Int, url: String?, imageView: ImageView)

    fun loadImage(placeholder: Int, error: Int, url: String?, view: View)

    fun loadImage(placeholder: Drawable, error: Drawable, url: String?, imageView: ImageView)

    fun loadImage(url: String?, imageView: ImageView, listener: RequestListener<*>?)

    fun loadImage(url: String?, view: View)

    fun loadRoundedImage(url: Any, imageView: ImageView, roundingRadius: Int)

    fun loadRoundedImage(
        placeholder: Int,
        error: Int,
        url: Any,
        imageView: ImageView,
        roundingRadius: Int
    )

    fun loadCircleImage(
        url: Any,
        imageView: ImageView,
        placeholder: Int = 0,
        error: Int = 0
    )
}